
// import company from '../views/company.js'
// import myImport from './myImport.js'

const myImport = (url) => {
  return new Promise((resolve, reject) => {
    // 先加载js
    import(url).then(async (resjs) => {
      const js = await resjs.default()
      // 否则直接使用js注册组件
      resolve(js)
    })
  })
}

 

// const company = () => myImport('../views/company.js')

// console.log('myImport::', myImport)

const {createRouter, createWebHashHistory, createWebHistory } = VueRouter

const { reactive } = Vue

// 1. 定义路由组件.
// 也可以从其他文件导入
const Company = { template: '<div>公司介绍</div>' }
const About = { template: '<div>关于我们</div>' }

const foo = () => {
  return {
    template: '<div>person：{{person}}</div>',
    setup() {
      const person = reactive({
        name: 'composition API演示'
      })

      return {
        person
      }
    }
  }
}
 

// 2. 定义一些路由
// 每个路由都需要映射到一个组件。
// 我们后面再讨论嵌套路由。
const routes = [
  { path: '/company', component: () => import('../views/company2.js') },
  { path: '/about', component: foo },
]

// 3. 创建路由实例并传递 `routes` 配置
// 你可以在这里输入更多的配置，但我们在这里
// 暂时保持简单
export const router = createRouter({
  // 4. 内部提供了 history 模式的实现。为了简单起见，我们在这里使用 hash 模式。
  history: createWebHashHistory(), 
  // history: createWebHistory(),
  routes // `routes: routes` 的缩写
})

